home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 009a / tde221.zip / MAKETDE < prev    next >
Text File  |  1993-04-01  |  4KB  |  226 lines

  1. #
  2. # Compilers supported == MSC 5.1, MSC 6.0ax, MSC 7.0, QC 2.5, and BCC 3.1
  3. # Makes supported     == Microsoft's nmake and Borland's make
  4. #
  5. # To make TDE with Microsoft compilers, change the defines as needed and type:
  6. #
  7. #      nmake maketde
  8. #
  9. # To make TDE with Borland's make, change the appropriate defines and type:
  10. #
  11. #      make -f maketde
  12. #
  13.  
  14.  
  15. PROJ      = tde
  16.  
  17.  
  18. #
  19. # Define your favorite compiler last
  20. #
  21. COMPILER   = QUICKC
  22. COMPILER   = BCC
  23. COMPILER   = MSC
  24.  
  25.  
  26. #
  27. # Define your favorite assembler last
  28. #
  29. ASSEMBLER  = MASM51
  30. ASSEMBLER  = QUICKASSEMBLER
  31. ASSEMBLER  = TASM
  32. ASSEMBLER  = MASM6
  33.  
  34.  
  35. #
  36. # Assertions may be turned off or on.  I usually leave assertions on.
  37. #
  38. ASSERTIONS = ON
  39. ASSERTIONS = OFF
  40. ASSERT     = TDE
  41. !IF "$(ASSERTIONS)" == "OFF"
  42. !UNDEF ASSERT
  43. !ENDIF
  44.  
  45.  
  46. #
  47. # Compiler and linker flags and switches.
  48. #
  49. !IF "$(COMPILER)" == "MSC"
  50. CC      = cl
  51. !IFDEF ASSERT
  52. CFLAGS  = /c /AM /W4 /Ot /D__MSC__
  53. !ELSE
  54. CFLAGS  = /c /AM /W4 /Ot /Gs /D__MSC__ /DNDEBUG
  55. !ENDIF
  56. LINK    = link
  57. LFLAGS  = /STACK:5120 /NOI
  58.  
  59. !ELSE
  60. !IF "$(COMPILER)" == "QUICKC"
  61. CC      = qcl
  62. !IFDEF ASSERT
  63. CFLAGS  = /c /AM /D__MSC__ /Ot /W4
  64. !ELSE
  65. CFLAGS  = /c /AM /D__MSC__ /Ot /W4 /DNDEBUG
  66. !ENDIF
  67. LINK    = qlink
  68. LFLAGS  = /STACK:5120 /NOI
  69.  
  70. !ELSE
  71. !IF "$(COMPILER)" == "BCC"
  72. CC      = bcc
  73. !IFDEF ASSERT
  74. CFLAGS  = -c -G -mm -O2 -tDe -w -N
  75. !ELSE
  76. CFLAGS  = -c -G -mm -O2 -tDe -w -DNDEBUG
  77. !ENDIF
  78. LINK    = tlink
  79. LFLAGS  = /Td /c
  80.  
  81. !ELSE
  82. !ERROR I only know how to make MSC, QuickC, and BCC.
  83. !ENDIF
  84. !ENDIF
  85. !ENDIF
  86.  
  87.  
  88. #
  89. # Assembler flags and switches.
  90. #
  91. !IF "$(ASSEMBLER)" == "MASM51"
  92. AS      = MASM
  93. AFLAGS  = /c
  94.  
  95. !ELSE
  96.  
  97. !IF "$(ASSEMBLER)" == "MASM6"
  98. AS      = ML
  99. AFLAGS  = /c /Cp /Zm
  100.  
  101. !ELSE
  102. !IF "$(ASSEMBLER)" == "QUICKASSEMBLER"
  103. AS      = QCL
  104. AFLAGS  = /c
  105.  
  106. !ELSE
  107. !IF "$(ASSEMBLER)" == "TASM"
  108. AS      = TASM
  109. AFLAGS  = /Mx
  110. !ELSE
  111. !ERROR I only know how to make MASM, QuickAssembler, and TASM.
  112. !ENDIF
  113. !ENDIF
  114. !ENDIF
  115. !ENDIF
  116.  
  117.  
  118. #
  119. # Define the compiler and assembler rules
  120. #
  121. .c.obj :
  122.         $(CC) $(CFLAGS) $<
  123.  
  124. .asm.obj :
  125.         $(AS) $(AFLAGS) $<
  126.  
  127.  
  128. #
  129. # List the dependent obj files
  130. #
  131. TDEOBJS  = block.obj console.obj criterr.obj diff.obj dirlist.obj ed.obj\
  132.            file.obj findrep.obj hwind.obj main.obj macro.obj port.obj\
  133.            sort.obj tab.obj tdeasm.obj utils.obj window.obj wordwrap.obj\
  134.            int24.obj simul101.obj
  135.  
  136.  
  137. all: $(PROJ).exe
  138.  
  139.  
  140. #
  141. # List the rules for the obj files.
  142. #
  143. BLOCK.obj    : BLOCK.c    tdestr.h common.h tdefunc.h define.h
  144.  
  145. CONSOLE.obj  : CONSOLE.c  tdestr.h common.h tdefunc.h define.h
  146.  
  147. CRITERR.obj  : CRITERR.c  tdestr.h common.h tdefunc.h define.h criterr.h
  148.  
  149. DIFF.obj     : DIFF.c     tdestr.h common.h tdefunc.h define.h
  150.  
  151. DIRLIST.obj  : DIRLIST.c  tdestr.h common.h define.h tdefunc.h
  152.  
  153. ED.obj       : ED.c tdestr.h global.h tdefunc.h define.h default.h prompts.h
  154.  
  155. FILE.obj     : FILE.c     tdestr.h common.h tdefunc.h define.h
  156.  
  157. FINDREP.obj  : FINDREP.c  tdestr.h common.h tdefunc.h define.h
  158.  
  159. HWIND.obj    : HWIND.c    tdestr.h common.h tdefunc.h define.h
  160.  
  161. MACRO.obj    : MACRO.C    tdestr.h common.h tdefunc.h define.h
  162.  
  163. MAIN.obj     : MAIN.c tdestr.h common.h tdefunc.h define.h default.h help.h
  164.  
  165. PORT.obj     : PORT.c     tdestr.h common.h tdefunc.h define.h
  166.  
  167. SORT.obj     : SORT.c     tdestr.h common.h tdefunc.h define.h
  168.  
  169. TAB.obj      : TAB.c      tdestr.h common.h tdefunc.h define.h
  170.  
  171. TDEASM.obj   : TDEASM.c   tdestr.h common.h tdefunc.h define.h
  172.  
  173. UTILS.obj    : UTILS.c    tdestr.h common.h tdefunc.h define.h
  174.  
  175. WINDOW.obj   : WINDOW.c   tdestr.h common.h tdefunc.h define.h
  176.  
  177. WORDWRAP.obj : WORDWRAP.c tdestr.h common.h tdefunc.h define.h
  178.  
  179. int24.obj    : int24.asm
  180.  
  181. simul101.obj : simul101.asm
  182.  
  183.  
  184. #
  185. # Once we get everything compiled, link with either Microsoft or Borland stuff.
  186. # Incidentally, blank lines are significant for the linker response files.
  187. #
  188. !IF "$(COMPILER)" == "BCC"
  189. $(PROJ).exe  : $(TDEOBJS)
  190.         $(LINK) $(LFLAGS) @&&%
  191. C0M  $(TDEOBJS)
  192. $*
  193.  
  194. CM.LIB
  195. %
  196. !ELSE
  197. $(PROJ).exe : $(TDEOBJS)
  198.         echo >NUL @<<$(PROJ).crf
  199. block.obj+
  200. console.obj+
  201. criterr.obj+
  202. diff.obj+
  203. dirlist.obj+
  204. ed.obj+
  205. file.obj+
  206. findrep.obj+
  207. hwind.obj+
  208. macro.obj+
  209. main.obj+
  210. port.obj+
  211. sort.obj+
  212. tab.obj+
  213. tdeasm.obj+
  214. utils.obj+
  215. window.obj+
  216. wordwrap.obj+
  217. simul101.obj+
  218. int24.obj
  219. $(PROJ).EXE
  220.  
  221.  
  222.  
  223. <<
  224.         ilink -a -e "$(LINK) $(LFLAGS) @$(PROJ).crf" $(PROJ)
  225. !ENDIF
  226.